package mapper;

import bean.CutPageBean;
import bean.RoomBean;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface IRoomMapper {
    /**
     * 按性别查询房间
     *
     * @param sex 性别
     * @return
     */
    public List<RoomBean> findBySex(String sex);

    /**
     * 添加房间
     *
     * @param roomBean
     */
    public void insert(RoomBean roomBean);

    /**
     * 按编号删除房间
     *
     * @param id 房间编号
     */
    public boolean delete(Integer id);

    /**
     * 按房间编号查找房间
     *
     * @param id 房间编号
     * @return 房间对象
     */
    public RoomBean getById(int id);
    /**
     * 统计房间已住人数
     *
     * @param id
     * @return
     */
    public int roomStudentCount(Integer id);
    /**
     * 动态条件分页查询（）查找房间
     *
     * @param roomAddr   房间地址
     * @param roomStatus 房间状态
     * @param type       房间类型
     * @return 分页对象
     */
   public List<RoomBean> listStudentByPage(@Param("start") Integer start, @Param("end") Integer end, @Param("roomAddr") String roomAddr, @Param("roomStatus") String roomStatus,
                                     @Param("roomHabitable") String roomHabitable, @Param("type") String type);
    /**
     * 总记录数
     *
     * @param roomAddr
     * @param roomStatus
     * @param roomHabitable
     * @param type
     * @return
     */
    public int cutPageCount(@Param("roomAddr") String roomAddr, @Param("roomStatus") String roomStatus,
                     @Param("roomHabitable") String roomHabitable, @Param("type") String type);

    /**
     * 修改房间状态
     *
     * @param roomId
     * @param roomStatus
     */
    public void updateStatus(@Param("roomId") Integer roomId, @Param("roomStatus") String roomStatus);
}
